7a4ee61c27b01f5455bd1e992d9ce9af9b15b164,sources/src/main/java/com/ullink/slack/simpleslackapi/impl/SlackJSONMessageParser.java,SlackJSONMessageParser,extractAttachmentsFromMessageJSON,#JSONObject#,408

Before Change


        ArrayList<SlackAttachment> attachments = new ArrayList<>();

        for(Object o : (JSONArray) object.get("attachments")){
            JSONObject obj = (JSONObject) o;
            SlackAttachment slackAttachment = new SlackAttachment();

            slackAttachment.setFallback((String) obj.get("fallback"));
            slackAttachment.setColor((String) obj.get("color"));
            slackAttachment.setPretext((String) obj.get("pretext"));
            slackAttachment.setAuthorName((String) obj.get("author_name"));
            slackAttachment.setAuthorLink((String) obj.get("author_link"));
            slackAttachment.setAuthorIcon((String) obj.get("author_icon"));
            slackAttachment.setTitle((String) obj.get("title"));
            slackAttachment.setTitleLink((String) obj.get("title_link"));
            slackAttachment.setText((String) obj.get("text"));
            slackAttachment.setThumbUrl((String) obj.get("thumb_url"));
            slackAttachment.setImageUrl((String) obj.get("image_url"));
            slackAttachment.setFooter((String) obj.get("footer"));
            slackAttachment.setFooterIcon((String) obj.get("footer_icon"));

            if(obj.get("fields") != null) {
                for (Object field : (JSONArray) obj.get("fields")) {
                    JSONObject f = (JSONObject) field;
                    slackAttachment.addField((String) f.get("title"), (String) f.get("value"),
                        (Boolean) f.get("short"));

After Change


        ArrayList<SlackAttachment> attachments = new ArrayList<>();

        for(JsonElement o : object.get("attachments").getAsJsonArray()){
            JsonObject obj = o.getAsJsonObject();
            SlackAttachment slackAttachment = new SlackAttachment();

            slackAttachment.setFallback(GsonHelper.getStringOrNull(obj.get("fallback")));
            slackAttachment.setColor(GsonHelper.getStringOrNull(obj.get("color")));
            slackAttachment.setPretext(GsonHelper.getStringOrNull(obj.get("pretext")));
            slackAttachment.setAuthorName(GsonHelper.getStringOrNull(obj.get("author_name")));
            slackAttachment.setAuthorLink(GsonHelper.getStringOrNull(obj.get("author_link")));
            slackAttachment.setAuthorIcon(GsonHelper.getStringOrNull(obj.get("author_icon")));
            slackAttachment.setTitle(GsonHelper.getStringOrNull(obj.get("title")));
            slackAttachment.setTitleLink(GsonHelper.getStringOrNull(obj.get("title_link")));
            slackAttachment.setText(GsonHelper.getStringOrNull(obj.get("text")));
            slackAttachment.setThumbUrl(GsonHelper.getStringOrNull(obj.get("thumb_url")));
            slackAttachment.setImageUrl(GsonHelper.getStringOrNull(obj.get("image_url")));
            slackAttachment.setFooter(GsonHelper.getStringOrNull(obj.get("footer")));
            slackAttachment.setFooterIcon(GsonHelper.getStringOrNull(obj.get("footer_icon")));

            if(obj.get("fields") != null) {
                for (JsonElement fieldElement : obj.get("fields").getAsJsonArray()) {
                    JsonObject field = fieldElement.getAsJsonObject();
                    slackAttachment.addField(GsonHelper.getStringOrNull(field.get("title")), GsonHelper.getStringOrNull(field.get("value")),
                            GsonHelper.getBooleanOrDefaultValue(field.get("short"),false));